<?PHP
/***********************************\
 * 框架核心文件: Init.php
 * 功能：实现框架的初始化和自动加载
 * 不需要手动调用
 +----------------------------------
 * www.cnblogs.com/SmilingLiuWei
 * SmilingLiuWei@163.com
\***********************************/

// 设置编码
header('Content-Type:text/html; charset=utf-8');
// 开启session
session_start();
// 框架(核心)路径
define('FRAME_PATH', dirname(__FILE__));
// 网站路径
define('SITE_PATH', dirname($_SERVER['SCRIPT_FILENAME']));
// 在主机上的根目录
define('WebRoot', substr(dirname($_SERVER['SCRIPT_NAME']), 1));
// 载入配置
include_once('./Config/conf.php');
// 载入模板引擎
include_once('./Core/Smarty/Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = empty($config['template_dir']) ? './Tpl' : $config['template_dir'];
$smarty->compile_dir = empty($config['compile_dir']) ? './Runtime/Cache' : $config['compile_dir'];
$smarty->left_delimiter = empty($config['left_delimiter']) ? '<{' : $config['left_delimiter'];
$smarty->right_delimiter = empty($config['right_delimiter']) ? '}>' : $config['right_delimiter'];
// 载入公共函数
include_once(FRAME_PATH.'/Common.php');
// 连接主机
$link = mysql_connect($config['host'], $config['username'], $config['passwd'])
	or die('<br>Connect database error: '.mysql_error().'<br>');
// 选择数据库
mysql_select_db($config['database'], $link)
	or die('<br>Select database error: '.mysql_error().'<br>');
// 设置编码
$config['charset'] = empty($config['charset']) ? 'utf8' : $config['charset'];
mysql_query('set names '.$config['charset'])
	or die('<br>Set names error: '.mysql_error().'<br>');

// 自动加载
spl_autoload_register(array('Frame', 'LoadClass'));
class Frame {
	static function LoadClass($class_name='') {
		// 获得类的类型
		$str = ltrim(substr($class_name, strrpos($class_name, '_')), '_');
		// 根据类的类型去相应的目录加载文件
		$class_file = '';
		switch($str){
		case 'Controller':
			$class_file = SITE_PATH.'/Lib/'.$class_name.'.class.php';
			break;
		case 'Model':
			$class_file = SITE_PATH.'/Model/'.$class_name.'.class.php';
			break;
		default:
			$class_file = FRAME_PATH.'/'.$class_name.'.php';
		}

		// 加载类文件
		if(is_file($class_file))
			include_once($class_file);
		else{
			new Message(' 这个页面不存在');
			exit;
		}
	}
}
